home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / lib / X11 / config / NetBSD.cf < prev    next >
Encoding:
Text File  |  2006-12-20  |  24.1 KB  |  879 lines

  1. XCOMM platform:  $Xorg: NetBSD.cf,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
  2.  
  3.  
  4.  
  5. XCOMM platform:  $XFree86: xc/config/cf/NetBSD.cf,v 3.122 2003/11/18 18:09:45 dawes Exp $
  6.  
  7.  
  8. #ifndef OSName
  9. #define OSName            DefaultOSName OSBinaryType
  10. #endif
  11. #ifndef OSMajorVersion
  12. #define OSMajorVersion        DefaultOSMajorVersion
  13. #endif
  14. #ifndef OSMinorVersion
  15. #define OSMinorVersion        DefaultOSMinorVersion
  16. #endif
  17. #ifndef OSTeenyVersion
  18. #define OSTeenyVersion        DefaultOSTeenyVersion
  19. #endif
  20.  
  21. #ifndef NetBSDDistribution
  22. #define NetBSDDistribution    DefaultNetBSDDistribution
  23. /*
  24.   Add "#define NetBSDDistribution NetBSD<mumble>" to your site.def or host.def.
  25.   Currently only NetBSDDebian will be autodetected.
  26.   Valid values are:
  27.     NetBSDUnknown    (0)
  28.     NetBSDNative     (1)
  29.     NetBSDDebian     (2)
  30. */
  31. #endif
  32.  
  33. #ifndef NetBSDDistName
  34. # define NetBSDDistName        DefaultNetBSDDistName
  35. #endif
  36.  
  37. #ifndef OSVendor
  38. #define OSVendor        The NetBSD Foundation, Inc.
  39. #endif
  40.  
  41. #ifndef NetBSDBinUtilsMajorVersion
  42. # define NetBSDBinUtilsMajorVersion    DefaultNetBSDBinUtilsMajorVersion
  43. #endif
  44.  
  45. XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
  46.  
  47. /* Defines for Debian GNU/NetBSD */
  48.  
  49. #if NetBSDDistribution == NetBSDDebian
  50. # ifndef DefaultGcc2OptimizeOpt
  51. #  define DefaultGcc2OptimizeOpt    -O2
  52. # endif
  53. # define DefaultGcc2AxpOpt    DefaultGcc2OptimizeOpt GccAliasingArgs
  54. # define DefaultGcc2i386Opt    DefaultGcc2OptimizeOpt GccAliasingArgs
  55. # define DefaultGcc2PpcOpt    DefaultGcc2OptimizeOpt GccAliasingArgs
  56. # define SystemManDirectory    /usr/share/man
  57. # define HasPam            YES
  58. # define HasTk            YES
  59. # define TkLibDir        /usr/lib
  60. # define TkIncDir        /usr/include
  61. # define TkLibName        tk8.4
  62. # define XF86SetupUsesStaticTk    NO
  63. # define HasTcl            YES
  64. # define TclLibDir        /usr/lib
  65. # define TclIncDir        /usr/include
  66. # define TclLibName        tcl8.4
  67. # define XF86SetupUsesStaticTcl    NO
  68. /* un-comment this when it is un-broken */
  69. /* # define JoystickSupport YES */
  70. # define XAppLoadDir        EtcX11Directory/app-defaults
  71. # define XFileSearchPathDefault    Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
  72. # define InstallAppDefFiles    YES
  73. /* the relative symlink created by this rule causes problems for us */
  74. # ifdef InstallAppDefFiles
  75. #  if InstallAppDefFiles
  76. #   define InstallAppDefaultsLong(file,class)                @@\
  77. InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
  78. #  else
  79. #   define InstallAppDefaultsLong(file,class)                @@\
  80. InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
  81. #  endif
  82. # endif /* InstallAppDefFiles */
  83. # define SharedLibXdmGreet    NO
  84. # define LinkGLToUsrInclude    NO
  85. # define LinkGLToUsrLib        NO
  86. # define SharedLibFont        NO
  87. # define HasZlib        YES
  88. # define SharedLibGlu        YES
  89. # define NormalLibGlu        YES
  90. # define FSUseSyslog        YES
  91.  
  92. # define DebianMaintainer    YES
  93.  
  94. # ifdef DebianMaintainer
  95. #  ifndef XFree86CustomVersion
  96. #    define XFree86CustomVersion    "Debian"
  97. #  endif
  98. #  ifndef BuilderEMailAddr
  99. #    define BuilderEMailAddr        "debian-x@lists.debian.org"
  100. #  endif
  101. #  define XFree86Devel            YES
  102. #  define InstallXinitConfig        YES
  103. #  define InstallXdmConfig        YES
  104. #  define InstallFSConfig        YES
  105. #  define DebuggableLibraries        YES
  106. #  define ForceNormalLib        YES
  107. #  define BuildRman            NO
  108. #  define BuildHtmlManPages        NO
  109. /*
  110.  * Debian doesn't use certain parts of the tree when doing
  111.  * architecture-specific package builds.
  112.  */
  113. #  ifndef BuildFonts
  114. #   define BuildFonts            YES
  115. #  endif
  116. #  ifndef BuildSpecsDocs
  117. #   define BuildSpecsDocs        YES
  118. #  endif
  119. #  if BuildSpecsDocs
  120. #   define BuildAllSpecsDocs        YES
  121. #  endif
  122. /*
  123.  * The XFree86 Debian package uses a local patch that defines a
  124.  * PicLibraryTarget() Imake rule, instead of using upstream's method.
  125.  */
  126. #  define StaticNeedsPicForShared    NO
  127. #  define KernelVersionInBanner        YES
  128. #  define ProjectManSuffix        x
  129. /* The TT/Meltho fonts are all under non-free licenses. */
  130. #  define BuildTrueTypeFonts        NO
  131. #  define BuildBethMarduthoFonts    NO
  132. /*
  133.  * The XFree86 Debian package build-depends on external Expat, Fontconfig,
  134.  * Freetype, Render, Xcursor, and Xft libraries.
  135.  */
  136. #  define BuildExpatLibrary        NO
  137. #  define HasExpat            YES
  138. #  define ExpatIncDirStandard        YES
  139. #  define BuildFontconfigLibrary    NO
  140. #  define HasFontconfig            YES
  141. #  define UseFontconfig            YES
  142. #  define FontconfigIncDir        /usr/include/fontconfig
  143. #  define BuildFreetype2Library        NO
  144. #  define HasFreetype2            YES
  145. #  define BuildRenderLibrary        NO
  146. #  define HasRenderLibrary        YES
  147. #  define BuildXcursorLibrary        NO
  148. #  define HasXcursorLibrary        YES
  149. /* Xlib needs to know the available version of Xcursor. */
  150. #  define SharedXcursorRev        1
  151. #  define BuildXftLibrary        NO
  152. #  define HasXftLibrary            YES
  153.  
  154. #  ifdef UseInstalled
  155. #    define RenderLibraryDir        /usr
  156. #    define XftLibraryDir        /usr
  157. #    define XcursorLibraryDir        /usr
  158. #  else
  159. /* The XFree86 Debian package uses a special hack to find these libraries. */
  160. #    define RenderLibraryDir        $(TOP)/../../imports
  161. #    define XftLibraryDir        $(TOP)/../../imports
  162. #    define XcursorLibraryDir        $(TOP)/../../imports
  163. #  endif
  164.  
  165. /*
  166.  * We want to be sure that the normal XFree86 X server and the debugging X
  167.  * server use the same FreeType2 library.  We'd *like* it if we could
  168.  * achieve this by both packages dynamically linking against the system's
  169.  * FreeType2 library; however, the normal X server package
  170.  * (xserver-xorg) *cannot* be built dynamically linked against the
  171.  * FreeType2 library when the module loader is enabled because of
  172.  * code/design issues.  Therefore, we encapsulate XFree86's internal "fork"
  173.  * of the FreeType2 library into *both* xserver-xorg and
  174.  * xserver-xorg-dbg.  When it becomes possible to build the
  175.  * module-loading server against an external FreeType2 shared library, we
  176.  * can drop this define:
  177.  */
  178. #   define FontLibSharedFreeType    NO
  179.  
  180. #   define HasLinuxInput        YES
  181. #   define HasXdmAuth            YES
  182. #   define HasLatex            YES
  183. /* Enable extended instruction set support. */
  184. #   ifdef i386Architecture
  185. #    define HasX86Support        YES
  186. #    define HasMMXSupport        YES
  187. #    define Has3DNowSupport        YES
  188. #    define HasSSESupport        YES
  189. #   endif /* i386Architecture */
  190. # endif /* DebianMaintainer */
  191. #endif /* NetBSDDebian */
  192.  
  193. /*
  194.  * C library features
  195.  */
  196. #if ((OSMajorVersion > 1) || \
  197.      (OSMajorVersion == 1 && OSMinorVersion > 2) || \
  198.      (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1))
  199. # define HasPoll            YES
  200. #endif
  201. #define HasNdbm             YES
  202. #define HasPutenv           YES
  203. #if OSMajorVersion == 1 && OSMinorVersion > 4 || OSMajorVersion > 1
  204. # define HasStrlcat        YES
  205. #endif
  206. #define HasSnprintf        YES
  207. #define HasBSD44Sockets     YES
  208. #define Malloc0ReturnsNull    NO
  209. #define SetTtyGroup         YES
  210. #define DBMLibrary        /**/
  211. #define HasDlopen        YES
  212. #define HasSetProcTitle        YES
  213. #ifndef HasLibCrypt
  214. # define HasLibCrypt        YES
  215. #endif
  216. #ifndef BuildPDFdocs
  217. # define BuildPDFdocs NO
  218. #endif
  219. #ifndef HasShm
  220. # if OSMajorVersion == 0 && OSMinorVersion == 9 && OSTeenyVersion == 2
  221. /*
  222.  * Shm memory was removed in 0.9B because it was encumbered.
  223.  * A free version was added in 0.9C
  224.  */
  225. #  define HasShm              NO
  226. # else
  227. #  define HasShm              YES
  228. # endif
  229. #endif
  230. #define HasWChar32        YES
  231. /*
  232.  * There's a bug in NetBSD 1.0, 1.1 and 1.2 dlsym()
  233.  */
  234. #if ((OSMajorVersion == 1 && OSMinorVersion < 2) || \
  235.      (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion < 2))
  236. #  define HasDlsymBug        YES
  237. #endif
  238. /* Mkstemp is there since 1.2 (at least) */
  239. #if (!(OSMajorVersion == 0 || \
  240.        (OSMajorVersion == 1 && OSMinorVersion < 2))) 
  241. #define HasMkstemp        YES
  242. #endif
  243. /* But the standalone mktemp doesn't exist before NetBSD 1.5*/
  244. #if (OSMajorVersion ==0 || (OSMajorVersion == 1 && OSMinorVersion <= 4))
  245. # define HasMktemp        NO
  246. #else
  247. # define HasMktemp        YES
  248. #endif
  249.  
  250. #ifndef HasIssetugid
  251. # if (OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion >= 5))
  252. #  define HasIssetugid          YES
  253. # endif
  254. #endif
  255.  
  256. #if (OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion > 1) 
  257. #define HasGetIfAddrs        YES
  258. #endif
  259.  
  260. #define HasUsableFileMmap    YES
  261.  
  262. #if NetBSDDistribution == NetBSDDebian
  263. #define VarDbDirectory        $(VARDIR)/lib
  264. #else /* Debian */
  265. #define HasVarDb        YES
  266. #endif /* Debian */
  267. #define HasVarRun        YES
  268.  
  269. #define HasShadowPasswd        NO
  270.  
  271. #define InstallXloadSetGID    NO
  272.  
  273. #if OSMajorVersion < 1 || (OSMajorVersion == 1 && OSMinorVersion < 5)
  274. #define BuildIPv6        NO
  275. #endif
  276.  
  277. #define IPv6SocketsAlsoIPv4    NO
  278.  
  279. /*
  280.  * NetBSD 1.6M and newer supports POSIX Threads.
  281.  */
  282.  
  283. #ifndef NetBSDThreads
  284. # define NetBSDThreads        YES
  285. #endif
  286.  
  287. #if NetBSDThreads && \
  288.     ((OSMajorVersion > 1) || \
  289.      (OSMajorVersion == 1 && OSMinorVersion > 6) || \
  290.      (OSMajorVersion == 1 && OSMinorVersion == 6 && OSTeenyVersion >= 13))
  291.  
  292. # define HasPosixThreads    YES
  293. # define ThreadedX        YES
  294. # define HasThreadSafeAPI    YES
  295. # define ThreadsLibraries    -lpthread
  296. # if ((OSMajorVersion == 2 && OSMinorVersion == 99 && OSTeenyVersion < 11) || \
  297.       (OSMajorVersion == 2 && OSMinorVersion < 99) || \
  298.       (OSMajorVersion < 2))
  299. #  define LibraryMTDefines    -DUSE_NBSD_THREADLIB
  300. # endif
  301. # define SystemMTDefines    -D_REENTRANT
  302. # define MTSafeAPIDefines    -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
  303. #else 
  304. # define ThreadedX        NO
  305. #endif
  306.  
  307. /*
  308.  * Compiler Features
  309.  */
  310. #define GccUsesGas        YES
  311. #define UseGas            YES
  312. #define GnuCpp            YES
  313.  
  314. #define NeedConstPrototypes    YES
  315. #define NeedFunctionPrototypes    YES
  316. #define NeedNestedPrototypes    YES
  317. #define NeedVarargsPrototypes    YES
  318. #define NeedWidePrototypes    NO
  319.  
  320. #define MkdirHierCmd        mkdir -p
  321.  
  322. #undef CcCmd
  323. #define CcCmd             gcc
  324. #ifndef DefaultCCOptions
  325. #if defined(UseInstalled)
  326. #define DefaultCCOptions     /**/
  327. #else
  328. #ifdef Arm32Architecture
  329. #define DefaultCCOptions     -ansi -Dasm=__asm -fsigned-char \
  330.                 -fomit-frame-pointer
  331. #elif defined(PpcArchitecture)
  332. # define DefaultCCOptions    -ansi -Dasm=__asm -fsigned-char
  333. #else
  334. #define DefaultCCOptions     -ansi -Dasm=__asm GccWarningOptions
  335. #endif
  336. #endif
  337. #endif
  338.  
  339. #define CppCmd            cpp
  340. #define StandardCppOptions    -traditional
  341. #define StandardCppDefines    /**/
  342. #define PreProcessCmd       CcCmd -E
  343. #define PostIncDir        /usr/include
  344.  
  345. #define GccGasOption         -DGCCUSESGAS
  346. #define AsmDefines         -DUSE_GAS
  347.  
  348. /* UseElfFormat defaults to YES if __ELF__ set */
  349. #ifndef UseElfFormat
  350. # ifdef __ELF__
  351. #  undef __ELF__            /* other imake files shouldn't care */
  352. #  define UseElfFormat YES
  353. # else
  354. #  define UseElfFormat NO
  355. # endif
  356. #endif
  357.  
  358. /*
  359.  * Dynamic loading supported starting in 1.0 on a.out platforms,
  360.  * and on all ELF platforms.
  361.  *
  362.  * XXX May not be correct on NetBSD/pmax (ELF, but might not have
  363.  * working shared libs).
  364.  *
  365.  * Disabled for NetBSD/vax until I figure out the scheme. --CS 
  366.  */
  367. #if ((OSMajorVersion > 0) && defined(i386Architecture)) || \
  368.     defined(PpcArchitecture)
  369. #  ifndef DoLoadableServer
  370. #  define DoLoadableServer    YES
  371. #  endif
  372. #else
  373. #  ifndef DoLoadableServer
  374. #  define DoLoadableServer    NO
  375. #  endif
  376. #endif
  377.  
  378. #if UseElfFormat
  379. #define DlLibrary        -rdynamic /* no -ldl yet */
  380. #define HasPlugin        YES
  381. #define VendorHasX11R6_3libXext    YES
  382. #else
  383. #define DlLibrary        /**/
  384. #endif
  385.  
  386. /* All ELF NetBSD systems support Weak symbols */
  387. #define HasWeakSymbols        UseElfFormat 
  388.  
  389. #ifdef i386Architecture
  390. # ifndef DefaultGcc2i386Opt
  391. #  if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 2)
  392.     /* The GCC strength-reduce bug is fixed for NetBSD 1.3 and later */
  393. #   define DefaultGcc2i386Opt -O2 GccAliasingArgs
  394. #  endif
  395. # endif
  396. # define OptimizedCDebugFlags     DefaultGcc2i386Opt
  397. # if OSMajorVersion < 1
  398. #  define ServerOSDefines    XFree86ServerOSDefines -DXNO_SYSCONF
  399. # else
  400. #  define ServerOSDefines    XFree86ServerOSDefines
  401. # endif
  402. # if OSMajorVersion == 1 && OSMinorVersion >= 1 || OSMajorVersion >= 2
  403. #  define ServerExtraSysLibs    -li386
  404. # endif
  405. #else
  406. # define OptimizedCDebugFlags     -O2
  407. # if defined(SparcArchitecture)
  408. #  define ServerOSDefines     -DDDXOSINIT
  409. # elif defined(AlphaArchitecture)
  410. #  define ServerOSDefines     XFree86ServerOSDefines
  411. # elif defined(Arm32Architecture)
  412. #   define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  413. # elif defined(PpcArchitecture)
  414. #  define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME -DDDXOSINIT
  415. # else
  416. #  define ServerOSDefines     /**/
  417. # endif
  418. # if defined(AlphaArchitecture)
  419. #  define ServerExtraSysLibs    -lalpha
  420. # else
  421. #  define ServerExtraSysLibs    /**/
  422. # endif
  423. #endif
  424. #ifdef i386Architecture
  425. # define ServerExtraDefines GccGasOption XFree86ServerDefines
  426. # ifndef XFree86ConsoleDefines
  427. #  if (OSMajorVersion == 1 && ((OSMinorVersion == 3 && OSTeenyVersion >= 6) \
  428.                            || OSMinorVersion >= 4) \
  429.        || OSMajorVersion >= 2)  
  430. #   define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT -DWSCONS_SUPPORT
  431. #  else
  432. #   define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT
  433. #  endif
  434. # endif
  435. #elif defined(SparcArchitecture)
  436. #  if defined(Sparc64Architecture)
  437. #   define ServerExtraDefines XFree86ServerDefines -D_XSERVER64
  438. #  else
  439. #   define ServerExtraDefines XFree86ServerDefines
  440. #  endif
  441. # elif defined(AlphaArchitecture)
  442.     /* XXX for the following */
  443. #  define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
  444. #  ifndef XFree86ConsoleDefines
  445. #   define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCCONS_SUPPORT -DPCVT_SUPPORT
  446. #  endif
  447. #elif defined(AlphaArchitecture)
  448. #   define ServerExtraDefines GccGasOption -D_XSERVER64
  449. #elif defined(Arm32Architecture)
  450. #  define ServerExtraDefines GccGasOption XFree86ServerDefines
  451. #  ifndef XFree86ConsoleDefines
  452. #    define XFree86ConsoleDefines -DPCCONS_SUPPORT
  453. #  endif
  454. #elif defined(PpcArchitecture)
  455. #  define ServerExtraDefines    GccGasOption XFree86ServerDefines
  456. #  ifndef XFree86ConsoleDefines
  457. #    define XFree86ConsoleDefines    -DWSCONS_SUPPORT
  458. #  endif
  459. #else
  460. #  define ServerExtraDefines GccGasOption
  461. #endif
  462.  
  463. #define StandardDefines    -DCSRG_BASED
  464. /* Citrus mb locale were added in 1.5P */
  465. #if ((OSMajorVersion > 1) || \
  466.      (OSMajorVersion == 1 && OSMinorVersion > 5) || \
  467.      (OSMajorVersion == 1 && OSMinorVersion == 5 && OSTeenyVersion >= 15))
  468. #define XawI18nDefines    -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
  469. #else
  470. #define XawI18nDefines    -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
  471. #endif
  472.  
  473. #ifndef ExtraLibraries
  474. #define ExtraLibraries        /**/
  475. #endif
  476. #ifndef UseGnuMalloc
  477. /*
  478.  * There is no way to map 1.4J correctly to OS*Version, so 'J' is mapped
  479.  * to OSTeenyVersion == 9. That should be safe, since there will never
  480.  * be a release for 1.4.9.
  481.  */
  482. # if ((OSMajorVersion > 1) || \
  483.      (OSMajorVersion == 1 && OSMinorVersion > 4) || \
  484.      (OSMajorVersion == 1 && OSMinorVersion == 4 && OSTeenyVersion > 9))
  485. #  define UseGnuMalloc        NO
  486. # else
  487. #  define UseGnuMalloc        YES
  488. #endif
  489. #endif
  490. #ifndef GnuMallocLibrary
  491. #define GnuMallocLibrary    -lgnumalloc
  492. #endif
  493.  
  494. #if ((OSMajorVersion > 1) || \
  495.      (OSMajorVersion == 1 && OSMinorVersion > 2) || \
  496.      (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1))
  497. #ifndef HasZlib
  498. #define HasZlib              YES
  499. #endif
  500. #endif 
  501.  
  502. #define    AdmDir            /var/log
  503.  
  504. #define HasFlex            YES
  505.  
  506. /* NetBSD doesn't have gperf in the base install */
  507. #define DontRebuildGperfOutput    YES
  508.  
  509. #if NetBSDDistribution == NetBSDDebian
  510. #define HasPerl            YES
  511. #endif
  512.  
  513. /*
  514.  * NetBSD doesn't have perl in default system
  515.  * you may override this in host.def if you installed perl from the packages
  516.  */
  517. #ifndef HasPerl
  518. #define HasPerl            NO
  519. #endif
  520.  
  521. /*
  522.  * NetBSD doesn't have gperf in default system
  523.  * you may override this in host.def if you installed perl from the packages
  524.  */
  525. #ifndef HasGperf
  526. #define HasGperf        NO
  527. #endif
  528.  
  529. /*
  530.  * Make & install Features
  531.  */
  532.  
  533. #if NetBSDDistribution == NetBSDDebian
  534. #define HasBsdMake        NO
  535. #else
  536. #define HasBsdMake        YES
  537. #endif
  538.  
  539. #define CompressAllFonts    YES
  540. #define GzipFontCompression    YES
  541. #define DefaultUserPath        /bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:$(BINDIR)
  542. #define DefaultSystemPath    /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
  543.  
  544. #ifdef  InstallCmd
  545. # undef  InstallCmd
  546. # define InstallCmd         /usr/bin/install
  547. #endif
  548.  
  549. #ifndef ExtraFilesToClean
  550. # define ExtraFilesToClean     *.core
  551. #endif
  552.  
  553. /*
  554.  * Documentation formatting
  555.  */
  556. #define NeqnCmd            neqn -Tlatin1
  557. #define NroffCmd        nroff -Tlatin1
  558. #define    EqnCmd             eqn -Tps
  559. #define HasGroff        YES
  560.  
  561. /*
  562.  * To use the NetBSD Aperture driver
  563.  */
  564. #if defined(i386Architecture)
  565. # ifndef HasNetBSDApertureDriver
  566. #  define HasNetBSDApertureDriver    YES
  567. # endif
  568.  
  569. /*
  570.  * Builtin MTRR support (NetBSD 1.5Y and up)
  571.  */
  572. # if ((OSMajorVersion > 1) || \
  573.       (OSMajorVersion == 1 && OSMinorVersion >= 6) || \
  574.       (OSMajorVersion == 1 && OSMinorVersion == 5 && \
  575.        OSTeenyVersion >= 25))
  576. #  define HasMTRRBuiltin        YES
  577. # else
  578.  /*
  579.   * MTRR support  provided by the Aperture driver
  580.   */
  581. #  if HasNetBSDApertureDriver
  582. #   ifndef HasMTRRSupport
  583. #    define HasMTRRSupport    YES
  584. #   endif
  585. #  endif
  586. # endif /* MTRRBuiltin */
  587. #endif /* i386Architecture */
  588.  
  589. /*
  590.  * agpgart support (NetBSD 1.5Y and up)
  591.  */
  592. #if ((OSMajorVersion > 1) || \
  593.      (OSMajorVersion == 1 && OSMinorVersion >= 6) || \
  594.      (OSMajorVersion == 1 && OSMinorVersion == 5 && \
  595.       OSTeenyVersion >= 25))
  596. # ifndef HasAgpGart
  597. #  define HasAgpGart   YES
  598. # endif
  599. #endif
  600.  
  601. /*
  602.  * MMX, SSE and 3DNow will be autodetected. NetBSD 1.6 and up have the
  603.  * necessary kernel and toolchain support.
  604.  */
  605. #if defined(i386Architecture) &&  \
  606.     ((OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion > 5))
  607. # define HasX86Support          YES
  608. # define HasMMXSupport          YES
  609. # define Has3DNowSupport        YES
  610. # define HasSSESupport          YES
  611. #else
  612. # define HasX86Support          NO
  613. # define HasMMXSupport          NO
  614. # define Has3DNowSupport        NO
  615. # define HasSSESupport          NO
  616. #endif
  617.  
  618. #ifndef HasCookieMaker
  619. # if OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion >= 2
  620.    /* NetBSD 1.5 and later have /dev/urandom */
  621. #  define HasCookieMaker    YES
  622. #  define MkCookieCmd \
  623.     'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
  624. # else
  625. #  define HasCookieMaker    NO
  626. # endif
  627. #endif
  628.  
  629.  
  630. /*
  631.  * ForceSubdirs - force make to build subdirectories
  632.  * 
  633.  * For BSD 4.4 make 
  634.  */
  635. #define ForceSubdirs(dirs)                        @@\
  636. dirs:    .EXEC                                @@\
  637.     @cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \        @@\
  638.     $(MAKE) $(MFLAGS) PassCDebugFlags all                @@\
  639.                                     @@\
  640. .EXEC:
  641.  
  642. #if NetBSDDistribution != NetBSDDebian /* Debian uses ProjectManSuffix */
  643.  
  644. /*
  645.  * Man pages need to be formatted when installed, so override the default
  646.  * imake rules.
  647.  */
  648. #define ManSuffix    1
  649. #define FileManSuffix    5
  650. #define ManSourcePath    $(MANPATH)/cat
  651.  
  652. #define InstallManPageLongBase(file,destdir,dest)            @@\
  653.                                     @@\
  654. all:: file.0                                @@\
  655.                                     @@\
  656. file.0:: file.$(MANNEWSUFFIX)                        @@\
  657.     @if [ -f file.$(MANNEWSUFFIX) ]; \                @@\
  658.     then \                                @@\
  659.     cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) > file.0; \    @@\
  660.     fi                                 @@\
  661.                                     @@\
  662. install.man::                                                           @@\
  663.     MakeDir($(DESTDIR)destdir)                    @@\
  664.     -@if [ -f file.0 ]; \                        @@\
  665.     then \                                @@\
  666.     $(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
  667.     fi                                @@\
  668.                                     @@\
  669. clean::                                    @@\
  670.     RemoveFile(file.0)
  671.  
  672. #define InstallManPageLong(file,destdir,dest)                @@\
  673. BuildInstallHtmlManPage(file,dest,$(MANSUFFIX))                @@\
  674.                                     @@\
  675. CppManTarget(file, $(EXTRAMANDEFS))                    @@\
  676.                                     @@\
  677. InstallManPageLongBase(file,destdir,dest)
  678.  
  679. #define InstallGenManPageLong(file,destdir,dest,suffix)            @@\
  680. BuildInstallHtmlManPage(file,dest,suffix)                @@\
  681.                                     @@\
  682. CppManTarget(file, $(EXTRAMANDEFS))                    @@\
  683.                                     @@\
  684. InstallManPageLongBase(file,destdir,dest)
  685.  
  686. #define InstallMultipleMan(list,dest)                                   @@\
  687. install.man::                                 @@\
  688.     MakeDir($(DESTDIR)dest)                        @@\
  689.     case '${MFLAGS}' in *[i]*) set +e;; esac; \            @@\
  690.     for i in list; do \                                             @@\
  691.       (MNAME=`echo $$i | cut -f1 -d.`; \                @@\
  692.       set -x; \                            @@\
  693.       cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \        @@\
  694.         | $(COL) > $${MNAME}.0; \                @@\
  695.       $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \            @@\
  696.             $(DESTDIR)dest/$${MNAME}.0; \            @@\
  697.       $(RM) $${MNAME}.0); \                        @@\
  698.     done
  699.  
  700. #define InstallMultipleManSuffix(list,dest,suff)                        @@\
  701. install.man::                                 @@\
  702.     MakeDir($(DESTDIR)dest)                        @@\
  703.     case '${MFLAGS}' in *[i]*) set +e;; esac; \            @@\
  704.     for i in list; do \                                             @@\
  705.       (set -x; \                            @@\
  706.       cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \    @@\
  707.         | $(COL) > $$i.0; \                    @@\
  708.       $(INSTALL) -c $(INSTMANFLAGS) $$i.0     \            @@\
  709.         $(DESTDIR)dest/$$i.0; \                    @@\
  710.       $(RM) $$i.0 ); \                        @@\
  711.     done
  712.  
  713. #define InstallManPageAliasesBase(file,destdir,aliases)            @@\
  714. install.man::                                 @@\
  715.     @case '${MFLAGS}' in *[i]*) set +e;; esac; \                    @@\
  716.     for i in aliases; do \                                          @@\
  717.         (set -x; \                        @@\
  718.         $(RM) $(DESTDIR)destdir/$$i.0;\              @@\
  719.         (cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\         @@\
  720.         ); \                            @@\
  721.     done
  722.  
  723. #define InstallManPageAliases(file,destdir,aliases)            @@\
  724. InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX))            @@\
  725.                                     @@\
  726. InstallManPageAliasesBase(file,destdir,aliases)
  727.  
  728. #define InstallGenManPageAliases(file,destdir,suffix,aliases)        @@\
  729. InstallHtmlManPageAliases(file,aliases,suffix)                @@\
  730.                                     @@\
  731. InstallManPageAliasesBase(file,destdir,aliases)
  732.  
  733. #endif /* NetBSDDistribution != NetBSDDebian */
  734.  
  735. /*
  736.  * Shared libraries supported starting in 1.0 on a.out platforms,
  737.  * and on all ELF platforms.
  738.  *
  739.  * XXX May not be correct on NetBSD/pmax (ELF, but might not have
  740.  * working shared libs).
  741.  */
  742. #if ((OSMajorVersion > 0) && \
  743.      !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \
  744.     UseElfFormat
  745. # ifndef HasSharedLibraries
  746. # define HasSharedLibraries    YES
  747. # endif
  748. #endif
  749.  
  750. #ifndef OSBinaryType
  751. #if UseElfFormat
  752. #define OSBinaryType    [ELF]
  753. #else
  754. #define OSBinaryType    /**/
  755. #endif
  756. #endif
  757.  
  758. #ifndef HasSharedLibraries
  759. #define HasSharedLibraries    NO
  760. #endif 
  761.  
  762. /*
  763.  * Unresolved references are fatal on NetBSD 1.5 for libGL, which is
  764.  * built with -Bsymbolic.
  765.  */
  766. #if UseElfFormat && OSMajorVersion == 1 && OSMinorVersion == 5
  767. #define SharedGLReqs        $(LDPRELIBS) $(XLIB) -lc
  768. #endif
  769.  
  770. #if HasSharedLibraries
  771. #include <bsdLib.rules>
  772. #endif /* HasSharedLibraries */
  773.  
  774. /* Always build the XInput library, regardless of server support on this plattform */
  775. #if !defined(BuildXInputLib) && !defined(BuildServersOnly)
  776. # define BuildXInputLib          YES
  777. #endif
  778.  
  779. #if defined(i386Architecture) || defined(Arm32Architecture) || defined(AlphaArchitecture) || defined(PpcArchitecture)
  780. # include <xorg.cf>
  781. #endif
  782.  
  783. /*
  784.  * Definitions for the SUN server on NetBSD/sparc
  785.  */
  786. #ifdef SparcArchitecture
  787. #ifndef Xsun24Server
  788. #define Xsun24Server    YES
  789. #endif
  790. #ifndef XsunServer
  791. #define XsunServer    YES
  792. #endif
  793. #ifndef XsunMonoServer
  794. #define XsunMonoServer    NO    /* XXX: does not link */
  795. #endif
  796. #ifndef BuildScreenSaverLibrary
  797. #define BuildScreenSaverLibrary    YES
  798. #endif
  799.  
  800. /*
  801.  * XFree86 uses its own (more portable) database routines to speed up 
  802.  * the RGB database lookups
  803.  * However, if you want to use ndbm anyway, you can set that to NO in 
  804.  * site.def
  805.  */
  806. #ifndef UseRgbTxt
  807. #define UseRgbTxt    YES
  808. #endif
  809. #define BuildXF86VidModeExt    NO
  810. #define BuildXF86DGA        NO
  811. #define BuildXInputExt        NO
  812. #include <xorg.cf>
  813. #endif
  814.  
  815. /*
  816.  * Definition for compiling on MIPS machines
  817.  */
  818. #ifdef MipsArchitecture
  819. #define PositionIndependentCFlags
  820. #define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ |
  821. sed 's/\.[0-9]*$$//'`
  822. #define SharedXtReqs $(XONLYLIB) $(SMLIB) $(ICELIB)
  823. #define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XLIB)
  824. #endif
  825.  
  826. /*
  827.  * Definition for compiling on Alpha machines
  828.  */
  829. #ifdef AlphaArchitecture
  830.  
  831. /* Build the shared XDM greeter on Alpha if it supports shared libs */
  832. #define SharedLibXdmGreet HasSharedLibraries
  833. #endif
  834.  
  835. /*
  836.  * Definition for compile on macppc machines
  837.  */
  838. #ifdef PpcArchitecture
  839.  
  840. # define OptimizedCDebugFlags     -O2
  841. # define XkbServerDefines    -DXKB_ALWAYS_USES_SOFT_REPEAT
  842.  
  843. # ifndef DoLoadableServer
  844. #   define DoLoadableServer    YES
  845. # endif
  846.  
  847. # define UseElfFormat        YES
  848.  
  849. #endif
  850.  
  851. /*
  852.  * Definition for compiling on VAX machines
  853.  */
  854. #ifdef VaxArchitecture
  855. #define BuildServer    NO
  856. #endif
  857.  
  858. /* 
  859.  * General settings for all platforms 
  860.  */ 
  861. #ifndef SharedLibXdmGreet
  862. #define SharedLibXdmGreet NO
  863. #endif
  864.  
  865. #ifndef BuildHtmlManPages
  866. #define BuildHtmlManPages NO    /* We don't want HTML manpages */
  867. #endif
  868.  
  869. #ifndef UseSeparateConfDir
  870. #define UseSeparateConfDir NO    /* We don't want appdefs in "/etc/X11". */
  871. #endif
  872.  
  873. #if defined(NetBSDArchitecture) && \
  874.      ((OSMajorVersion > 1) || \
  875.       (OSMajorVersion == 1 && OSMinorVersion > 3))
  876. #define HasDevRandom        YES
  877. #define RandomDeviceFile    /dev/urandom
  878. #endif
  879.